package hos.table.holder;

/**
 * <p>Title: OnTableSizeListener </p>
 * <p>Description: 表中的宽高监听 </p>
 * <p>Company: www.mapuni.com </p>
 *
 * @author : 蔡俊峰
 * @version : 1.0
 * @date : 2023-02-07 20:09
 */
public interface OnTableSizeListener {
    /**
     * 行高
     *
     * @param rowPosition 第几行
     */
    int rowHeight(int rowPosition);

    /**
     * 行标题宽度
     */
    default int rowHeaderWidth(){
        return columnHeaderWidth(0);
    }

    /**
     * 列标题的高度
     */
    int columnHeaderHeight();

    /**
     * 列标题的宽度
     *
     * @param columnPosition 第几列
     */
    int columnHeaderWidth(int columnPosition);

    /**
     * 行内容的宽度
     *
     * @param rowPosition    第几行
     * @param columnPosition 第几列
     */
    default int rowTextWidth(int rowPosition, int columnPosition) {
        return 0;
    }
}
